package cn.cj.erp.dao.system;

import cn.cj.erp.entity.system.SysDept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.io.Serializable;
import java.util.List;

/**
 * 部门管理
 *
 * @author chenjian
 */
@Mapper
public interface SysDeptDao extends BaseMapper<SysDept> {

    /**
     * 获取parentId的所有子节点中的最大排序号
     * @param parentId 父节ID
     * @return Integer
     */
    Integer getMaxOrderNum(@Param("parentId") Long parentId);

    /**
     * 获取全部子部门ID列表，包含孙子部门，及其自己（{@code deptId}）
     * @param deptId 部门ID
     * @return 全部子部门ID列表
     */
    List<Long> listAllChildIds(@Param("deptId") Serializable deptId);
}
